package com.ceres.system.service;

import com.ceres.system.pojo.Admin;
import com.ceres.system.pojo.User;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface UserService {
    /**
     * 添加前台用户
     * @param roleIds
     * @param user
     */
    void addUser(Integer[] roleIds, User user,String name);

    /**
     * 查询所有用户
     * @return
     */
    List<User> findAll();

    /**
     * 删除方法，将用户状态改为已删除
     * @param id
     */
    void delete(Integer id);

    /**
     * 根据用户id查询用户
     * @param id
     * @return
     */
    User findById(Integer id);

    /**
     * 根据用户id查询关联角色
     * @param id
     * @return
     */
    Integer[] findRoleByUser(Integer id);

    /**
     * 修改用户信息并修改关联角色
     * @param roleIds
     * @param user
     */
    void updateUser(Integer[]roleIds,User user);

    /**
     * 重置用户密码
     * @param id
     */
    void resetPassword(Integer id);

    /**
     * 分页查询用户
     * @param queryCondition 查询条件
     * @param page 当前页码
     * @param size 每页显示条数
     * @return
     */
    Page<User> queryUser(Map<String, Object> queryCondition, int page, int size, String username);

    /**
     * 修改本账号的密码
     * @param password
     * @param name
     */
    void changPassword(String password,String name);

    Page<Admin> queryAdmin(Map<String, Object> queryCondition, int page, int size,String username);
}
